import 'package:flutter/material.dart';

class QuickAccessButtons extends StatelessWidget {
  final Function(String) onButtonTap;

  const QuickAccessButtons({
    Key? key,
    required this.onButtonTap,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    // ئەكراننىڭ كەڭلىكىگە قاراپ، ھەر قاتاردىكى كۇنۇپكا سانىنى بەلگىلەش
    final screenWidth = MediaQuery.of(context).size.width;
    final crossAxisCount = screenWidth < 800
        ? 4
        : screenWidth < 1200
            ? 6
            : 8;
            
    // كارتىنىڭ نىسبىتىنى يۇقىرى كۆتۈرۈپ ئىگىزلىكنى پەسلىتىش
    final childAspectRatio = 1.4; // 0.9 دىن 1.4 گە ئۆزگەرتتۇق، بۇنىڭ بىلەن پەسراق بولىدۇ

    return Padding(
      padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 4),
      child: Container(
        padding: const EdgeInsets.all(8), // پاددىڭنى تېخىمۇ كىچىكلىتىش
        decoration: BoxDecoration(
          color: Colors.white,
          borderRadius: BorderRadius.circular(12),
          boxShadow: [
            BoxShadow(
              color: Colors.grey.withOpacity(0.07),
              blurRadius: 8,
              offset: const Offset(0, 3),
            ),
          ],
        ),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.end,
          children: [
            // ماۋزۇنى چىقىرىۋەتتۇق
            
            // كۇنۇپكىلار تورى
            GridView.count(
              crossAxisCount: crossAxisCount,
              crossAxisSpacing: 10, // ئارىلىقنى كىچىكلىتىش
              mainAxisSpacing: 8, // ئارىلىقنى كىچىكلىتىش
              shrinkWrap: true,
              childAspectRatio: childAspectRatio,
              physics: const NeverScrollableScrollPhysics(),
              children: [
                _buildQuickButton(
                  icon: Icons.shopping_bag, 
                  title: 'مال كىرگۈزۈش',
                  color: const Color(0xFF4A6FE5),
                  index: 0,
                ),
                _buildQuickButton(
                  icon: Icons.local_shipping, 
                  title: 'مال چىقىرىش',
                  color: const Color(0xFFFF7C4D),
                  index: 1,
                ),
                _buildQuickButton(
                  icon: Icons.assignment_turned_in, 
                  title: 'مال تاپشۇرۇش',
                  color: const Color(0xFF46BDFC),
                  index: 2,
                ),
                _buildQuickButton(
                  icon: Icons.search, 
                  title: 'ئامبار تەكشۈرۈش',
                  color: const Color(0xFF4CAF50),
                  index: 3,
                ),
                _buildQuickButton(
                  icon: Icons.inventory_2, 
                  title: 'مال ئۇچۇرى',
                  color: const Color(0xFFEF5350),
                  index: 4,
                ),
                _buildQuickButton(
                  icon: Icons.people, 
                  title: 'خېرىدار ئۇچۇرى',
                  color: const Color(0xFF9C27B0),
                  index: 5,
                ),
                _buildQuickButton(
                  icon: Icons.receipt_long, 
                  title: 'سېتىش تالونى',
                  color: const Color(0xFF009688),
                  index: 6,
                ),
                _buildQuickButton(
                  icon: Icons.description, 
                  title: 'كىرگۈزۈش تالونى',
                  color: const Color(0xFF795548),
                  index: 7,
                ),
              ],
            ),
          ],
        ),
      ),
    );
  }

  // بىر تېز كىرىش كۇنۇپكىسى
  Widget _buildQuickButton({
    required IconData icon,
    required String title,
    required Color color,
    required int index,
  }) {
    return Material(
      color: Colors.transparent,
      child: InkWell(
        onTap: () => onButtonTap(title),
        borderRadius: BorderRadius.circular(8),
        splashColor: color.withOpacity(0.1),
        hoverColor: color.withOpacity(0.05),
        child: Padding(
          padding: const EdgeInsets.symmetric(vertical: 6, horizontal: 4), // ۋېرتىكال پاددىڭنى كىچىكلىتىش
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              // ئايكون قىسمى
              Icon(
                icon,
                color: color,
                size: 24, // ئايكوننى كىچىكلىتىش
              ),
              const SizedBox(height: 4), // ئارىلىقنى كىچىكلىتىش
              
              // تېكىست قىسمى
              Flexible(
                child: Text(
                  title,
                  textAlign: TextAlign.center,
                  style: TextStyle(
                    color: Colors.grey[800],
                    fontSize: 13, // فونت چوڭلىقىنى كىچىكلىتىش
                    fontWeight: FontWeight.w500,
                  ),
                  overflow: TextOverflow.ellipsis,
                  maxLines: 1,
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
} 